Python中的Numpy库之random中random、rand、randn、randint的用法 |
您所在的位置:网站首页 › random randn函数 › Python中的Numpy库之random中random、rand、randn、randint的用法 |
在Numpy中一切皆矩阵
1、random
首先来看一下它的函数定义,主要看他的接受的参数,(虽然在函数体里什么都没有,但是照样能用它产生数据,这里由于水平原因,不再继续深入探究) def random(size=None): # real signature unknown; restored from __doc__ """ random(size=None) 返回值,这里没有遵循什么分布规律,只是简单的生成0-1的浮点数,且左闭右开 Return random floats in the half-open interval [0.0, 1.0). Alias for `random_sample` to ease forward-porting to the new random API. """ pass我们分两种情况来探究,这个size参数。 情况一直接给参数传一个整数,即size=3 print(np.random.random(3))返回值:是一个一维数组,注意他不是列表 [0.20367297 0.55265547 0.72267248] 情况二给参数传一个元组,即size=(3, 3) print(np.random.random((3, 3)))返回值:是一个二维数组 [[8.88325725e-01 7.05841883e-01 1.38825064e-01] [4.89045258e-01 7.25233743e-01 8.95902437e-02] [3.62093551e-01 5.59233974e-01 1.84422779e-04]] 说明:①情况一中的整数也可以写成元组,只不过我们为了省事,不这么写;②元组也可以换成列表类型 2、randint还是主要看前三个参数,其中size和上面的一样,我们分别来探究三个参数对返回值的影响。最后一个是返回值类型,在理不做讨论。 这个家伙也是,函数体里啥都没有 只对第一个参数赋值,后面两个有默认值,我们这里先不管他们。 print(np.random.randint(10))返回值:仅仅得到一个整数,且得到的整数总是小于lower 9 情况二:对前两个参数赋值,注意high>lower,即第二个参数要大于第一个参数的值 print(np.random.randint(10, 23))返回值:仅仅得到一个整数,得到的整数总是在lower和high之间 17 情况三:三个参数都赋值 print(np.random.randint(10, 22, (3, 2)))[[18 11] [18 16] [10 17]] 说明:①lower和high均可以为浮点数;②其实只对lower赋值,相当于lower=0,high=所赋值的lower;③可以只对lower和size赋值 2、randn和rand这两个放一起说,因为他们的参数一样,只不过生成的随机数的分布不同。 还是老规矩,先看函数定义: rand
下面来说说,dn是什么,其实,最关键的还是对符号的理解,它相当于把一个元组数据拆分成一个个具体的数值。 来看两个例子,了解一下他的参数返回的值,就明白了。 情况一: print(np.random.rand(2))返回结果: [0.57531079 0.67555903] 情况二: print(np.random.rand(2, 3))返回结果: [[0.61497674 0.199005 0.4309077 ] [0.02964575 0.70530525 0.26741078]] 再来说说他们的分布,rand是uniform分布。详细解释,看百度百科
怎么区分他们的分布,带n的是正态分布。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |